package com.cn.wanxi.util;

import java.io.*;

/**
 * file  文件
 * 哪些是属于文件？----
 * 编码格式？
 * 构造方法有没有返回值？
 * 每一个类里面默认有一个无参数的构造方法
 * 只要写了一个有参数的构造方法，则无参数的构造方法失效
 */
public class MyFile {
    //    MyFile(String name) {
//    }
//    MyFile() {
//    }
    {
//代码块
    }

    static {
//        静态代码块
    }

//    File file;

    public static void main(String[] args) {
        String path = "";
        File file = new File(path);
        boolean exists = file.exists();
//        尽量不要写if else嵌套

        if (exists) {
//            如果存在，则需要判断是文件或者文件夹
            boolean directory = file.isDirectory();
            if (directory) {
//                时文件不管
                System.out.println("这是文件夹路径");
            } else {
//                如果不是文件夹的路径，这创建文件夹
//                创建文件夹的方式？
                boolean mkdirs = file.mkdirs();
                if (mkdirs) {
                    System.out.println("创建文件夾成功");
                    System.out.println("創建文件");
                } else {
                    System.out.println("创建失败");
//                    return;
                }
            }
        } else {
//            如果不存在，则另外给一个路径？
//            不存在有几种情况？
//            1.如果根本没有路径？面试的时候，返回值是什么？
//            2.如果有路径，只不过没有找到，则需要分析这个路径是文件还是文件夹名字？
//            3.如果是文件夹，则需要创建文件夹，
//            4.如果是文件，则需要对文件进行数据的存储操作
            String realPath = "E:\\wanxi\\step-3\\canyin03-0705\\myWeb";
            File file1 = new File(realPath);
            String fileName = "test.txt";
            File file2 = new File(file1, fileName);
            if (file1.isDirectory()) {
                try {
                    file2.createNewFile();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                System.out.println("可以写入数据");
                try {
                    OutputStream outputStream = new FileOutputStream(file2);
                    outputStream.write(111);
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            } else {
                System.out.println("可以写入数据");
                try {
                    OutputStream outputStream = new FileOutputStream(file2);
                    outputStream.write(111);
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
//        得到文件，就是为了对文件进行操作？


//        MyFile myFile = new MyFile();//返回值是对象本身
    }
}
